Name
|
Operator
|
Operand
|
Operation Name
|
sahf
|
sahf
|
|
Store AH into Flags
|
|
|
|
|
sal/sar/shl/shr
|
Shift Instructions
|
|
sal
|
1,
r/m8
|
|
|
sal
|
%cl
,
r/m8
|
|
|
sal
|
$
imm8,r/m8
|
|
|
sal
|
1,
r/m16
|
|
|
sal
|
%cl
,
r/m16
|
|
|
sal
|
$
imm8,r/m16
|
|
|
sal
|
1,
r/m32
|
|
|
sal
|
%cl
,
r/m32
|
|
|
sal
|
$
imm8,r/m32
|
|
|
sar
|
1,
r/m8
|
|
|
sar
|
%cl
,
r/m8
|
|
|
sar
|
$
imm8,r/m8
|
|
|
sar
|
1,
r/m16
|
|
|
sar
|
%cl
,
r/m16
|
|
|
sar
|
$
imm8,r/m16
|
|
|
sar
|
1,
r/m32
|
|
|
sar
|
%cl
,
r/m32
|
|
|
sar
|
$
imm8,r/m32
|
|
|
shl
|
1,
r/m8
|
|
|
shl
|
%cl
,
r/m8
|
|
|
shl
|
$
imm8,r/m8
|
|
|
shl
|
1,
r/m16
|
|
|
shl
|
%cl
,
r/m16
|
|
|
shl
|
$
imm8,r/m16
|
|
|
shl
|
1,
r/m32
|
|
|
shl
|
%cl
,
r/m32
|
|
|
shl
|
$
imm8,r/m32
|
|
|
shr
|
1,
r/m8
|
|
|
shr
|
%cl
,
r/m8
|
|
|
shr
|
$
imm8,r/m8
|
|
|
shr
|
1,
r/m16
|
|
|
shr
|
%cl
,
r/m16
|
|
|
shr
|
$
imm8,r/m16
|
|
|
shr
|
1,
r/m32
|
|
|
shr
|
%cl
,
r/m32
|
|
|
shr
|
$
imm8,r/m32
|
|
|
|
|
|
sbb
|
sbb
|
$
imm8,r/m8
|
Integer Subtraction with Borrow
|
|
sbb
|
$
imm16,r/m
16
|
|
|
sbb
|
$
imm32,r/m32
|
|
|
sbb
|
$
imm8,r/m16
|
|
|
sbb
|
$
imm8,r/m32
|
|
|
sbb
|
r8,r/m8
|
|
|
sbb
|
r16,r/m16
|
|
|
sbb
|
r32,r/m32
|
|
|
sbb
|
r/m8,r8
|
|
|
sbb
|
r/m16,r16
|
|
|
sbb
|
r/m32,r32
|
|
|
|
|
|
scas/scasb/scasw/scasd
|
Compare String Data
|
|
scas
|
m8
|
|
|
scas
|
m16
|
|
|
scas
|
m32
|
|
|
scasb
|
|
|
|
scasw
|
|
|
|
scasd
|
|
|
|
|
|
|
|
(optional forms with segment override)
|
|
scasb
|
%al,
%seg
:0(%edi)
|
|
|
scasw
|
%ax,
%seg
:0(%edi)
|
|
|
scasd
|
%eax,
%seg
:0(%edi)
|
|
|
|
|
|
set
cc
|
|
|
Byte Set on Condition
|
|
seta
|
r/m8
|
above
|
|
setae
|
r/m8
|
above or equal
|
|
setb
|
r/m8
|
below
|
|
setbe
|
r/m8
|
below or equal
|
|
setc
|
r/m8
|
carry
|
|
sete
|
r/m8
|
equal
|
|
setg
|
r/m8
|
greater
|
|
setge
|
r/m8
|
greater or equal
|
|
setl
|
r/m8
|
less
|
|
setle
|
r/m8
|
less or equal
|
|
setna
|
r/m8
|
not above
|
|
setnae
|
r/m8
|
not abover or equal
|
|
setnb
|
r/m8
|
not below
|
|
setnbe
|
r/m8
|
not below or equal
|
|
setnc
|
r/m8
|
not carry
|
|
setne
|
r/m8
|
not equal
|
|
setng
|
r/m8
|
not greater
|
|
setnge
|
r/m8
|
not greater or equal
|
|
setnl
|
r/m8
|
not less
|
|
setnle
|
r/m8
|
not less or equal
|
|
setno
|
r/m8
|
not overflow
|
|
setnp
|
r/m8
|
not parity
|
|
setns
|
r/m8
|
not sign
|
|
setnz
|
r/m8
|
not zero
|
|
seto
|
r/m8
|
overflow
|
|
setp
|
r/m8
|
parity
|
|
setpe
|
r/m8
|
parity even
|
|
setpo
|
r/m8
|
parity odd
|
|
sets
|
r/m8
|
sign
|
|
setz
|
r/m8
|
zero
|
|
|
|
|
sgdt/sidt
|
sgdt
|
m
|
Store Global/Interrupt
|
|
sidt
|
m
|
Descriptor Table Register
|
|
|
|
|
shld
|
shld
|
$
imm8,r16,r/m16
|
Double Precision Shift Left
|
|
shld
|
$
imm8,r32,r/m32
|
|
|
shld
|
%cl
,
r16,r/m16
|
|
|
shld
|
%cl
,
r32,r/m32
|
|
|
|
|
|
shrd
|
shrd
|
$
imm8,r16,r/m16
|
Double Precision Shift Right
|
|
shrd
|
$
imm8,r32,r/m32
|
|
|
shrd
|
%cl
,
r16,r/m16
|
|
|
shrd
|
%cl
,
r32,r/m32
|
|
|
|
|
|
sldt
|
sldt
|
r/m16
|
Store Local Descriptor Table Register
|
|
|
|
|
smsw
|
smsw
|
r/m16
|
Store Machine Status Word
|
|
|
|
|
stc
|
stc
|
|
Set Carry Flag
|
|
|
|
|
|
|
|
|
std
|
std
|
|
Set Direction Flag
|
|
|
|
|
sti
|
sti
|
|
Set Interrupt Flag
|
|
|
|
|
stos/stosb/stosw/stosd
|
Store String Data
|
|
stos
|
m8
|
|
|
stos
|
m16
|
|
|
stos
|
m32
|
|
|
stosb
|
|
|
|
stosw
|
|
|
|
stosd
|
|
|
|
(optional forms with segment override)
|
|
stosb
|
%al,
%seg
:0(%edi)
|
|
|
stosw
|
%ax,
%seg
:0(%edi)
|
|
|
stosd
|
%eax,
%seg
:0(%edi)
|
|
|
|
|
|
str
|
str
|
r/m16
|
Store Task Register
|
|
|
|
|
sub
|
sub
|
$
imm8,r/m8
|
Integer Subtraction
|
|
sub
|
$
imm16,r/m
16
|
|
|
sub
|
$
imm32,r/m32
|
|
|
sub
|
$
imm8,r/m16
|
|
|
sub
|
$
imm8,r/m32
|
|
|
sub
|
r8,r/m8
|
|
|
sub
|
r16,r/m16
|
|
|
sub
|
r32,r/m32
|
|
|
sub
|
r/m8,r8
|
|
|
sub
|
r/m16,r16
|
|
|
sub
|
r/m32,r32
|
|